package com.fdb.efp.nls.common;

import java.util.HashMap;

/**
 * 封装影像平台返回的报文信息
 *
 * @author xiaojunhui
 */
public class UploadRtMsg {
    /**
     * 请求状态
     */
    private boolean success;
    /**
     * 返回的状态码
     */
    private int retCode;
    /**
     * 返回的批次号
     */
    private String batch;
    /**
     * 返回的报文
     */
    private String msg;
    /**
     * 返回码对应的字符串信息
     */
    private String retCodeMapStr;
    /**
     * 存放影像平台返回的编码以及描述
     */
    public static HashMap<Integer, String> codeMap;

    public boolean isSuccess() {
        return success;
    }

    public String getBatch() {
        return batch;
    }

    public void setBatch(String batch) {
        this.batch = batch;
    }

    public int getRetCode() {
        return retCode;
    }

    public void setRetCode(int retCode) {
        this.retCode = retCode;
    }

    public void setSuccess(boolean success) {
        this.success = success;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    @Override
    public String toString() {
        return "UploadRtMsg{" +
                "success=" + success +
                ", batch='" + batch + '\'' +
                ", retCode=" + retCode +
                ", msg='" + msg + '\'' +
                '}';
    }

    static {

        codeMap = new HashMap<>();
        codeMap.put(200, "200（成功）服务器已成功处理了请求");
        codeMap.put(201, "201（已创建）请求成功且服务器已创建了新的资源");
        codeMap.put(202, "202（已接受）服务器已接受了请求，但尚未对其进行处理。");
        codeMap.put(203, "203（非授权信息）服务器已成功处理了请求，但返回了可能来自另一来源的信息。");
        codeMap.put(204, "204（无内容）服务器成功处理了请求，但未返回任何内容");
        codeMap.put(205, "205（重置内容）服务器成功处理了请求，但未返回任何内容。与 204 响应不同，此响应要求请求者重置文档视图（例如清除表单内容以输入新内容）。");
        codeMap.put(206, "206（部分内容）服务器成功处理了部分 GET 请求。");
        codeMap.put(207, "207 HTTP连接出现异常");
        codeMap.put(300, "300 服务器根据请求可执行多种操作。服务器可根据请求者(Useragent)来选择一项操作，或提供操作列表供请求者选择");
        codeMap.put(301, "301 请求的网页已被永久移动到新位置。服务器返回此响应（作为对GET或HEAD请求的响应）时，会自动将请求者转到新位置");
        codeMap.put(302, "302 务器目前正从不同位置的网页响应请求，但请求者应继续使用原有位置来进行以后的请求。此代码与响应GET和HEAD请求的");
        codeMap.put(303, "303 当请求者应对不同的位置进行单独的GET请求以检索响应时，服务器会返回此代码。对于除HEAD请求之外的所有请求，服务器会自动转到其他位置");
        codeMap.put(304, "304 自从上次请求后，请求的网页未被修改过。服务器返回此响应时，不会返回网页内容");
        codeMap.put(305, "305 请求者只能使用代理访问请求的网页。如果服务器返回此响应，那么，服务器还会指明请求者应当使用的代理");
        codeMap.put(307, "307 服务器目前正从不同位置的网页响应请求，但请求者应继续使用原有位置来进行以后的请求");
        codeMap.put(400, "400 请求要求进行身份验证。登录后，服务器可能会返回对页面的此响应");
        codeMap.put(403, "403 服务器拒绝请求");
        codeMap.put(404, "404 服务器找不到请求的网页");
        codeMap.put(405, "405 禁用请求中所指定的方法。");
        codeMap.put(406, "406 无法使用请求的内容特性来响应请求的网页");
        codeMap.put(407, "407 此状态代码与401（未授权）类似，但却指定了请求者应当使用代理进行授权。如果服务器返回此响应，那么，服务器还会指明请求者应当使用的代理");
        codeMap.put(408, "408 服务器等候请求时超时");
        codeMap.put(409, "409 服务器在完成请求时发生冲突");
        codeMap.put(410, "410 如果请求的资源已被永久删除，那么，服务器会返回此响应");
        codeMap.put(411, "422 服务器不会接受包含无效内容长度标头字段的请求");
        codeMap.put(412, "412 服务器未满足请求者在请求中设置的其中一个前提条件");
        codeMap.put(413, "413 服务器无法处理请求，因为请求实体过大，已超出服务器的处理能力");
        codeMap.put(414, "414 请求的URI（通常为网址）过长，服务器无法进行处理");
        codeMap.put(415, "415 请求的格式不受请求页面的支持");
        codeMap.put(416, "416 如果请求是针对网页的无效范围进行的，那么，服务器会返回此状态代码");
        codeMap.put(417, "417 服务器未满足'期望'请求标头字段的要求");
        codeMap.put(500, "500 服务器遇到错误，无法完成请求");
        codeMap.put(501, "501 服务器不具备完成请求的功能。例如，当服务器无法识别请求方法时，服务器可能会返回此代码");
        codeMap.put(502, "502 服务器作为网关或代理，从上游服务器收到了无效的响应");
        codeMap.put(503, "503 目前无法使用服务器（由于超载或进行停机维护）");
        codeMap.put(504, "504 服务器作为网关或代理，未及时从上游服务器接收请求");
        codeMap.put(505, "505 服务器不支持请求中所使用的HTTP协议版本");
        //DM服务端定义的状态码
        codeMap.put(700, "700 未知的服务端异常");
        codeMap.put(701, "701找不到业务处理时间");
        codeMap.put(702, "702 创建文件夹失败");
        codeMap.put(703, "703 内容存储服务器不支持该内容模型");
        codeMap.put(704, "704 服务端接收文件失败");
        codeMap.put(705, "705 服务器连接失败");
        codeMap.put(706, "706 会话异常");
        codeMap.put(707, "707 找不到文件");
        codeMap.put(708, "708 数据库操作失败");
        codeMap.put(709, "709 获取console配置失败");
        codeMap.put(710, "710 MD5码校验失败");
        codeMap.put(711, "711 批次文件没有提交MD5码，服务器配置需要校验MD5");
        codeMap.put(712, "712找不到分表");
        codeMap.put(713, "713找不到分表时间");
        codeMap.put(714, "714LOG4J配置修改失败");
        codeMap.put(715, "715url加密失败");
        codeMap.put(716, "716url解密失败");
        codeMap.put(717, "717权限校验出错");
        codeMap.put(718, "718批次文档部件名有误或未关联");
        codeMap.put(719, "719该属性未关联该内容模型");
        codeMap.put(720, "720IO设备出错");
        codeMap.put(721, "721找不到所配置的系统卷");
        codeMap.put(722, "722转换对象失败");
        codeMap.put(723, "723找不到IP");
        codeMap.put(724, "724找不到检入检出标识");
        codeMap.put(725, "725不支持的数据类型代码");
        codeMap.put(726, "726内容模型没有该属性字段");
        codeMap.put(727, "727同一批次中文件重复");
        codeMap.put(728, "728内容模型获取失败，或没有与存储服务器关联");
        codeMap.put(729, "729令牌校验参数不正确");
        codeMap.put(730, "730用户未登陆");
        codeMap.put(731, "731用户没有对该内容模型的权限");
        codeMap.put(732, "732令牌校验失败");
        codeMap.put(733, "733数据库操作失败,原因:批次未检出或文件FILENO错误");
        codeMap.put(734, "734批次已被锁定，已被检出");
        codeMap.put(735, "735批注信息添加失败");
        codeMap.put(736, "736客户端连接服务器失败");
        codeMap.put(737, "737批次不存在或最新版本不在当前服务器组");
        codeMap.put(738, "738文档对象一次只能上传一个");
        codeMap.put(739, "739文档对象模型的批次中没有文档信息");
        codeMap.put(740, "740文档对象未关联索引对象");
        codeMap.put(741, "741服务器已停用");
        codeMap.put(742, "742上传报文错误");
        codeMap.put(743, "743服务器接收的文件与批次上传的文件数不一致");
        codeMap.put(744, "744服务器组名称不正确,统一接入未从Console接收到该服务器组的配置信息,或所查詢的內容存儲服务器组所有服务器均已停用");
        codeMap.put(745, "745更新时有版本控制的内容模型必需要设置版本号");
        codeMap.put(746, "746更新不支持单独文档对象");
        codeMap.put(750, "750 spring获取Bean信息失败");
        codeMap.put(751, "751 WebService异常");
        codeMap.put(752, "752 服务端socket读取一行信息出错");
        codeMap.put(753, "753 迁移失败");
        codeMap.put(754, "754 迁移服务端发生错误");
        codeMap.put(755, "755 参数缺少文件修改类型");
        codeMap.put(756, "UA无法根据contentID找到对应的DM，在上传，跟新时会产生此错误");
        codeMap.put(757, "不支持的操作");
        codeMap.put(758, "第三方存储平台操作失败");
    }

}
